Printing devices are normally used as peripheral devices to host devices such as personal computers (PCs). In that data is typically manipulated in different formats by PCs and printing devices, data is usually translated by driver software stored on the PC prior to being provided to the printing device for hardcopy generation. Such driver software normally must be installed for each printing device to which data will be sent from the PC.
The driver software for any given printing device is usually developed so as to obtain the best printing results possible for the widest variety of print data. For instance, the driver software may be written so that generally acceptable results will be obtained whether the user is printing text or image data (e.g., photographs). Accordingly, such driver software is intentionally engineered to be generic with respect to the data to be printed instead of being optimized for one particular type of printing. In addition, most driver software is further generic in regard to the device that originated the data. Accordingly, the software is written so that, for example, acceptable results may be obtained irrespective of whether image data was captured by one brand of digital camera or another.
In some circumstances, better printing results may be obtained if the driver software is configured to accommodate the specific type of print data it receives. For instance, if a high quality digital image is caught with a high-end digital camera, better printing results will be obtained if the driver software is configured so as to accommodate the high resolution and intricate color composition of the image. Such configuration can be obtained by manually changing the settings of the driver software through a user interface. By way of example, a typical interface may simply provide an option for “best” quality printing or a “photo” printing option. Although the options selected by the user may improve the printing results over the standard configuration of the driver software, the particularities of the print data, or the originating device from which this data came, typically is not taken into consideration. This is unfortunate in that even better results could be obtained where the driver software is specifically configured for particular print data from a particular device. In such a case, the driver software could be optimized to facilitate the best printing possible.
From the above, it can be appreciated that it would be desirable to have a system and method with which the configuration of driver software may be optimized in view of print data and/or the device from which the data originated.